In linguistic semantics, a case role is any of the spatially-distinguished parts of a process.
In the sentence, "The dog ate food", the subject "dog" has the case role of "agent" and the object "food" has the case role of "theme".
The meaningful case roles are dependent on the process. e.g.:
The term has its origins in linguistic semantics, but is used in computerized natural language processing, where a software reasoning engine performs case role analysis to establish progressively more specialized case roles from speech. For example: 'subject', 'agent', 'mother', 'Fred's mother', is a logical progression that results from the phrase 'you gave birth to Fred.'.